Oracle提高sql执行效率的心得建议
-->对于两个索引列,UNION比OR效率更高
-->FROM子句中包含多个表的情况下,选择记录条数最少的表作为基础表
-->把Alias前缀于每个Column上可以减少解析的时间
3.redo log buffer
-->where子句中'!='、'||'、'+'等符号会破坏索引
-->COMMIT会释放:1.rollback segment
-->重构索引是必要的:ALTER INDEX <INDEXNAME> REBUILD <TABLESPACENAME> [ONLINE]
-->多个索引列时尽量使用第一个索引列
-->DISTINCT,UNION,MINUS,INTERSECT,ORDER BY等都带有SORT功能,会耗费资源
-->对于字符类型的索引列尽量写成:col = '123' 而不是 col = 123,后者会被解析为TO_NUMBER(EMP_TYPE)=123
2.被程序语句获得的锁
-->索引也需要维护,INSERT,DELETE,UPDATE会因索引而做出更多次I/O
-->解析WHERE子句是自下而上的 过滤条件要有顺序
-->尽量用 UNION ALL代替UNION
-->DELETE会在rollback segment中存放可恢复信息,可以试试TRUNCATE
复制代码 代码如下:
-->不要用TO_NUMBER()之类的函数改变索引列的类型。
-->适当的地方使用适当的关键字:HAVING会在检索出所有记录之后对结果集进行过滤 能使用WHERE解决时不要用HAVING
-->IS NULL会破坏索引
-->在索引列上进行运算会停止使用索引转而执行全表扫描
-->IN的效率很低,IN子句将执行一个内部的排序和合并
-->ORACLE会将'*'转换成列名
-->在索引列上使用NOT会停止使用索引转而执行全表扫描
-->EXIST查询更为迅速
-->ORACLE解析sql语句时会把小写的字母转换成大写的再执行
相关热词: oracle
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/sql/oracle/2504.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
是因为scan的IP问题补占用
时间:2021-01-20
-
还你一个干净的model 2、功
时间:2021-01-20
-
既然 ROWNUM 列并不是真实存
时间:2021-01-20
-
Real Application Clusters
时间:2021-01-20
-
在tools-preferences-connection(
时间:2021-01-20
-
Windows Sever 2012下Oracle 12c安
时间:2021-01-10
-
Oracle安装监听器错误的解
时间:2021-01-07
-
oracle远程连接服务器数据
时间:2021-01-07
热门文章
-
Oracle存储过程编程详解
时间:2020-12-07
-
Azure Queue Storage 基本用法 Azure Storage 之
时间:2020-12-26
-
win10下oracle 11g安装图文教程
时间:2020-12-25
-
oracle 数据库学习 基本结构介绍
时间:2020-12-13
-
Azure File Storage 基本用法 Azure Storage 之 F
时间:2020-12-26
-
windows使用sqlpus连接oracle 数据库的教程图
时间:2020-12-25
-
Window下Oracle Database 11g 发行版2安装教程
时间:2020-12-29
-
Oracle解锁的方式介绍
时间:2020-12-14
-
Oracle 12c Study之Installer Oracle
时间:2021-01-06
-
linux下oracle设置开机自启动实现方法
时间:2020-12-13
